#ifndef _WX_GENERIC_PANEL_H_
#define _WX_GENERIC_PANEL_H_

#include "wx/window.h"
#include "wx/containr.h"

class wxControlContainer;
extern const wxChar wxPanelNameStr[];

class wxPanel : public wxWindow {
  public:
    wxPanel() { Init(); }
    wxPanel( wxWindow *parent, int x, int y, int width, int height, long style = wxTAB_TRAVERSAL | wxNO_BORDER,
             const wxString& name = wxPanelNameStr ) {
      Init();
      Create( parent, wxID_ANY, wxPoint( x, y ), wxSize( width, height ), style, name );
    }
    wxPanel( wxWindow *parent, wxWindowID winid = wxID_ANY, const wxPoint& pos = wxDefaultPosition,
             const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL | wxNO_BORDER,
             const wxString& name = wxPanelNameStr ) {
      Init();
      Create( parent, winid, pos, size, style, name );
    }
    bool Create( wxWindow *parent, wxWindowID winid = wxID_ANY, const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL | wxNO_BORDER,
                 const wxString& name = wxPanelNameStr );

    virtual ~wxPanel();
    void OnSize( wxSizeEvent& event );
    virtual void InitDialog();

    #ifdef __WXUNIVERSAL__
    virtual bool IsCanvasWindow() const { return true; }
    #endif
    WX_DECLARE_CONTROL_CONTAINER();
  protected:
    void Init();
  private:
    DECLARE_DYNAMIC_CLASS_NO_COPY( wxPanel )
    DECLARE_EVENT_TABLE()
};

#endif
